package abrindoojogo.exemplos.gameloop;

public class JogoPulsoFixo extends JogoLoopSimples
{
    long PULSOS_DESEJADOS_POR_SEGUNDO = 60;
    double NANOS_ESPERADOS_POR_PULSO = Contador.NANOS_EM_UM_SEGUNDO / PULSOS_DESEJADOS_POR_SEGUNDO;

    @Override
    public void gameloop()
    {
	initialize();
	long nanoTimeDoProximoPulso = System.nanoTime();
	while (true)
	{
	    Thread.yield();
	    while (System.nanoTime() > nanoTimeDoProximoPulso)
	    {
		update();
		nanoTimeDoProximoPulso += NANOS_ESPERADOS_POR_PULSO;
	    }
	    render();
	}
    }
}
